/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package edu.uoc.tfc.exuoc.model;

import javax.persistence.Embeddable;
import javax.persistence.ManyToOne;

import java.io.Serializable;

/** Classe que actua com a clau primària per la relació N-M (Item-MetaDC)
 * realitzada amb dues 1-N i que utiliza la classe MetadadaDetall
 *
 * @author Emili A. Moreno Ruiz
 */

@Embeddable
public class MetadadaDetallPk implements Serializable{
    private static final long serialVersionUID = 3245235352355L;
    private Item item;
    private MetaDC metaDC;

    @ManyToOne
    public Item getItem() {
        return item;
    }

    public void setItem(Item item) {
        this.item = item;
    }

    @ManyToOne
    public MetaDC getMetaDC() {
        return metaDC;
    }

    public void setMetaDC(MetaDC metaDC) {
        this.metaDC = metaDC;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;

        MetadadaDetallPk that = (MetadadaDetallPk) o;

        if (item != null ? !item.equals(that.item) : that.item != null) return false;
        if (metaDC != null ? !metaDC.equals(that.metaDC) : that.metaDC != null)
            return false;

        return true;
    }

    @Override
    public int hashCode() {
        int result;
        result = (item != null ? item.hashCode() : 0);
        result = 31 * result + (metaDC != null ? metaDC.hashCode() : 0);
        return result;
    }

}
